// export default function request(config) {
  
// }

import axios from 'axios'
class HYRequest {
  constructor(baseURL, timeout = 10000) {
    this.instance = axios.create({
      baseURL,
      timeout
    })
  }
  request(config) {
    // return axios.request(config)
    return new Promise((resolve, reject) => {
      this.instance.request(config).then(res => {
        console.log('封装的axios: url:', config.url,'请求发请求方式: ', config.method,res)
        resolve(res.data)
      }).catch(err => {
        reject('请求失败: url:',config.url,'请求方式: ', config.method,'详细信息: ',err)
      })
    })
  }

  get(config) {
    return this.request({...config, method: "get"})
  }

  post(config) {
    return this.request({...config, method: "post"})
  }
}
// 多个实例
// 需要baseURL的实例
const hyRequestBaseUrl = new HYRequest("http://123.207.32.32:8000")
// 不需要 baseUrl的实例,(baseURL为null,或者空字符串)
const hyRequest = new HYRequest("")

// export default new HYRequest("http://123.207.32.32:8000")
// export {hyRequestBaseUrl, hyRequest}

// 创建多个实例并封装到对象中
const HYRequestInstance = {
  hyRequestBaseUrl,
  hyRequest
}
export default HYRequestInstance

